﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using MoviTiendas.Logica;
using Microsoft.Phone.Tasks;

namespace MoviTiendas.Interfaz
{
    public partial class PaginaConfirmacionDomicilio : PhoneApplicationPage
    {
        // ------------------------------------------------------------------------------------
        // Atributos
        // ------------------------------------------------------------------------------------

        /**
         * Carrito seleccionado en PaginaPrincipal
         */
        public Carrito carrito { get; set; }


        // ------------------------------------------------------------------------------------
        // Constructor
        // ------------------------------------------------------------------------------------

        /**
         * Constructor de la clase
         */
        public PaginaConfirmacionDomicilio()
        {
            InitializeComponent();
            carrito = ParametroPaginas.darParametroConIndice(0) as Carrito;
            txtNombre.Text = MoviTienda.darInstancia.cliente.nombre;
            txtDireccion.Text = MoviTienda.darInstancia.cliente.direccion;

        }

        // ------------------------------------------------------------------------------------
        // Métodos manejadores de eventos
        // ------------------------------------------------------------------------------------

        /**
         * Maneja el evento en el que se oprime el botón btnEditarPerfil
         * @sender - Objeto que envía el evento
         * @e - Evento
         */
        private void btnPedirDomicilio_Click(object sender, RoutedEventArgs e)
        {
            String fecha = txtDia.Text + "/" + txtMes.Text + "/" + txtAnio.Text + " a las " + txtHora.Text; 
            String mensaje = txtNombre.Text + " solicitó un domicilio con los siguientes productos: ";
            foreach(Item item in carrito.items)
                mensaje += " (Prod: " + item.producto.nombre + ", Cant: " + item.cantidad;

            if (checkInmediatamente.IsChecked.Value)
            {
                if(checkPersonalmente.IsChecked.Value) 
                    mensaje += ". El domicilio debe estar listo para ser recogido.";
                else
                    mensaje += ". El domicilio debe ser enviado a la dirección " + txtDireccion.Text + ".";
            }
            
            else 
            {
                if(checkPersonalmente.IsChecked.Value)
                    mensaje +=". El domicilio debe estar listo el " + fecha + " para ser recogido.";    
                else
                    mensaje += ". El domicilio debe ser llevado el " + fecha + " a la dirección " + txtDireccion.Text + ".";
            }


            SmsComposeTask composeSMS = new SmsComposeTask();
            composeSMS.Body = mensaje;
            composeSMS.To = carrito.tienda.telefono;
            composeSMS.Show();

            MoviTienda.darInstancia.cliente.pedirDomicilio(carrito);
        }

        /**
         * Maneja el evento en el que se chequea el checkInmediatamente
         * @sender - Objeto que envía el evento
         * @e - Evento
         */
        private void checkBoxInmediatamente_Checked(object sender, RoutedEventArgs e)
        {
            if (checkInmediatamente.IsChecked.Value)
            {
                txtDia.IsEnabled = false;
                txtMes.IsEnabled = false;
                txtAnio.IsEnabled = false;
                txtHora.IsEnabled = false;
            }

            else
            {
                txtDia.IsEnabled = true;
                txtMes.IsEnabled = true;
                txtAnio.IsEnabled = true;
                txtHora.IsEnabled = true;
            }
            
        }
    }
}